import jieba
import gensim

#分词并获取词袋函数（为每个出现在语料库中的单词分配一个独一无二的整数编号ID）
string=['少年强则国强','少年智则国智']
text_list=[]
for sentence in string:
    s_list=[word for word in jieba.cut(sentence)]
    text_list.append(s_list)
dictionary=gensim.corpora.Dictionary(text_list)
print(dictionary)
print(dictionary.token2id)

#向量转换（对每个不同单词出现的次数进行计数并将单词转换为编号，以稀疏向量的形式返回结果）
corpus=[dictionary.doc2bow(doc) for doc in text_list]
print(corpus)

#测试字符串分词并获取词袋函数
test_string='少年进则国进'
test_doc_list=[word for word in jieba.cut(test_string)]
test_doc_vec=dictionary.doc2bow(test_doc_list)
#使用tfidf模型对语料库建模
tfidf=gensim.models.TfidfModel(corpus)

#分析测试文档与已存在的每个训练样本的相似度
index = gensim.similarities.SparseMatrixSimilarity(tfidf[corpus], num_features=len(dictionary.keys()))
sim=index[tfidf[test_doc_vec]]
print(sim)
